
/**
 *  \file rfcomm_extern.h
 *
 *  This RFCOMM internal header file includes all the external declaration
 *  of global variables used in RFCOMM.
 */

/*
 *  Copyright (C) 2013. Mindtree Ltd.
 *  All rights reserved.
 */

#ifndef _H_RFCOMM_EXTERN_
#define _H_RFCOMM_EXTERN_

/* --------------------------------------------- External Global Variables */

/** Global RFCOMM Mutex */
BT_DEFINE_MUTEX_TYPE (extern, rfcomm_mutex)

/** RFCOMM Session Entities */
extern RFCOMM_SESSION rfcomm_session [];

/** RFCOMM DLCI Entities */
extern RFCOMM_DLCI rfcomm_dlci [];

/** RFCOMM RPN Entities */
extern RFCOMM_PORT_PARAMS rfcomm_rpn [];

/** RFCOMM User API/Operation Contexts */
extern RFCOMM_CONTEXT rfcomm_context [];

/** RFCOMM Global Timeout Value for Mode & Mux Commands */
extern UINT16 rfcomm_ack_timeout;

/** RFCOMM Default L2CAP MTU */
extern UINT16 rfcomm_default_l2cap_mtu;

#ifdef RFCOMM_USE_L2CAP_ERTM
extern L2CAP_FEC_OPTION rfcomm_ertm_params;

#ifdef RFCOMM_USE_L2CAP_ERTM_RUNTIME_CONFIG
/** Operation Mode of L2CAP Channel for RFCOMM */
extern UCHAR rfcomm_l2cap_operation_mode;
#endif /* RFCOMM_USE_L2CAP_ERTM_RUNTIME_CONFIG */
#endif /* RFCOMM_USE_L2CAP_ERTM */

#ifdef RFCOMM_TEST_MODE
extern UINT16 rfcomm_pn_frame_size;
#endif /* RFCOMM_TEST_MODE */


#endif /* _H_RFCOMM_EXTERN_ */


